package server.persistencia;
/**
 * "Visual Paradigm: DO NOT MODIFY THIS FILE!"
 * 
 * This is an automatic generated file. It will be regenerated every time 
 * you generate persistence class.
 * 
 * Modifying its content may cause the program not work, or your work may lost.
 */

/**
 * Licensee: Computer Science Shool
 * License Type: Academic
 */
import org.orm.*;
import org.hibernate.Query;

import server.dominio.TableroJuego;
import server.persistencia.Agente;

import java.rmi.RemoteException;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import java.util.Vector;

public class TableroJuegoDAOSQL extends TableroJuegoDAO {
	
	public TableroJuegoDAOSQL(TableroJuego tableroJuego) {
		super(tableroJuego);
	}

	public static TableroJuego createTableroJuego(TableroJuego tableroJuego) {
		return new TableroJuego();
	}
	
	public static TableroJuego createTableroJuego(){
		return new TableroJuego();
	}
	
	public void update() throws Exception { //hay que mirarlo
		PersistentTransaction t = Agente.instance().getSession().beginTransaction();
		try {
			TableroJuego tableroJuego = TableroJuegoDAOSQL.loadTableroJuegoByQuery(null, null);
			
			// Update the properties of the persistent object
			TableroJuegoDAOSQL.save(tableroJuego);
			t.commit();
		}
		catch (Exception e) {
			t.rollback();
		}		
	}
	
	public static boolean save(TableroJuego tableroJuego) throws PersistentException {
		try {
			Agente.instance().saveObject(tableroJuego);
			return true;
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static boolean delete(TableroJuego tableroJuego) throws PersistentException {
		try {
			Agente.instance().deleteObject(tableroJuego);
			return true;
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public boolean refresh(TableroJuego tableroJuego) throws PersistentException {
		try {
			Agente.instance().getSession().refresh(tableroJuego);
			return true;
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static TableroJuego loadTableroJuegoByORMID(int id) throws PersistentException {
		try {
			PersistentSession session = Agente.instance().getSession();
			return loadTableroJuegoByORMID(session, id);
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static TableroJuego getTableroJuegoByORMID(int id) throws PersistentException {
		try {
			PersistentSession session = Agente.instance().getSession();
			return getTableroJuegoByORMID(session, id);
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static TableroJuego loadTableroJuegoByORMID(int id, org.hibernate.LockMode lockMode) throws PersistentException {
		try {
			PersistentSession session = Agente.instance().getSession();
			return loadTableroJuegoByORMID(session, id, lockMode);
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static TableroJuego getTableroJuegoByORMID(int id, org.hibernate.LockMode lockMode) throws PersistentException {
		try {
			PersistentSession session = Agente.instance().getSession();
			return getTableroJuegoByORMID(session, id, lockMode);
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static TableroJuego loadTableroJuegoByORMID(PersistentSession session, int id) throws PersistentException {
		try {
			return (TableroJuego) session.load(TableroJuego.class, new Integer(id));
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static TableroJuego getTableroJuegoByORMID(PersistentSession session, int id) throws PersistentException {
		try {
			return (TableroJuego) session.get(TableroJuego.class, new Integer(id));
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static TableroJuego loadTableroJuegoByORMID(PersistentSession session, int id, org.hibernate.LockMode lockMode) throws PersistentException {
		try {
			return (TableroJuego) session.load(TableroJuego.class, new Integer(id), lockMode);
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static TableroJuego getTableroJuegoByORMID(PersistentSession session, int id, org.hibernate.LockMode lockMode) throws PersistentException {
		try {
			return (TableroJuego) session.get(TableroJuego.class, new Integer(id), lockMode);
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static List queryTableroJuego(String condition, String orderBy) throws PersistentException {
		try {
			PersistentSession session = Agente.instance().getSession();
			return queryTableroJuego(session, condition, orderBy);
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static List queryTableroJuego(String condition, String orderBy, org.hibernate.LockMode lockMode) throws PersistentException {
		try {
			PersistentSession session = Agente.instance().getSession();
			return queryTableroJuego(session, condition, orderBy, lockMode);
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static TableroJuego[] listTableroJuegoByQuery(String condition, String orderBy) throws PersistentException {
		try {
			PersistentSession session = Agente.instance().getSession();
			return listTableroJuegoByQuery(session, condition, orderBy);
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static TableroJuego[] listTableroJuegoByQuery(String condition, String orderBy, org.hibernate.LockMode lockMode) throws PersistentException {
		try {
			PersistentSession session = Agente.instance().getSession();
			return listTableroJuegoByQuery(session, condition, orderBy, lockMode);
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static List queryTableroJuego(PersistentSession session, String condition, String orderBy) throws PersistentException {
		StringBuffer sb = new StringBuffer("From TableroJuego as TableroJuego");
		if (condition != null)
			sb.append(" Where ").append(condition);
		if (orderBy != null)
			sb.append(" Order By ").append(orderBy);
		try {
			Query query = session.createQuery(sb.toString());
			return query.list();
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static List queryTableroJuego(PersistentSession session, String condition, String orderBy, org.hibernate.LockMode lockMode) throws PersistentException {
		StringBuffer sb = new StringBuffer("From TableroJuego as TableroJuego");
		if (condition != null)
			sb.append(" Where ").append(condition);
		if (orderBy != null)
			sb.append(" Order By ").append(orderBy);
		try {
			Query query = session.createQuery(sb.toString());
			query.setLockMode("TableroJuego", lockMode);
			return query.list();
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static TableroJuego[] listTableroJuegoByQuery(PersistentSession session, String condition, String orderBy) throws PersistentException {
		try {
			List list = queryTableroJuego(session, condition, orderBy);
			return (TableroJuego[]) list.toArray(new TableroJuego[list.size()]);
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static TableroJuego[] listTableroJuegoByQuery(PersistentSession session, String condition, String orderBy, org.hibernate.LockMode lockMode) throws PersistentException {
		try {
			List list = queryTableroJuego(session, condition, orderBy, lockMode);
			return (TableroJuego[]) list.toArray(new TableroJuego[list.size()]);
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static TableroJuego loadTableroJuegoByQuery(String condition, String orderBy) throws PersistentException {
		try {
			PersistentSession session = Agente.instance().getSession();
			return loadTableroJuegoByQuery(session, condition, orderBy);
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static TableroJuego loadTableroJuegoByQuery(String condition, String orderBy, org.hibernate.LockMode lockMode) throws PersistentException {
		try {
			PersistentSession session = Agente.instance().getSession();
			return loadTableroJuegoByQuery(session, condition, orderBy, lockMode);
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	public static TableroJuego loadTableroJuegoByQuery(PersistentSession session, String condition, String orderBy) throws PersistentException {
		TableroJuego[] tableroJuegos = listTableroJuegoByQuery(session, condition, orderBy);
		if (tableroJuegos != null && tableroJuegos.length > 0)
			return tableroJuegos[0];
		else
			return null;
	}
	
	public static TableroJuego loadTableroJuegoByQuery(PersistentSession session, String condition, String orderBy, org.hibernate.LockMode lockMode) throws PersistentException {
		TableroJuego[] tableroJuegos = listTableroJuegoByQuery(session, condition, orderBy, lockMode);
		if (tableroJuegos != null && tableroJuegos.length > 0)
			return tableroJuegos[0];
		else
			return null;
	}
	
	@SuppressWarnings("rawtypes")
	public static java.util.Iterator iterateTableroJuegoByQuery(String condition, String orderBy) throws PersistentException {
		try {
			PersistentSession session = Agente.instance().getSession();
			return iterateTableroJuegoByQuery(session, condition, orderBy);
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	@SuppressWarnings("rawtypes")
	public static java.util.Iterator iterateTableroJuegoByQuery(String condition, String orderBy, org.hibernate.LockMode lockMode) throws PersistentException {
		try {
			PersistentSession session = Agente.instance().getSession();
			return iterateTableroJuegoByQuery(session, condition, orderBy, lockMode);
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	@SuppressWarnings("rawtypes")
	public static java.util.Iterator iterateTableroJuegoByQuery(PersistentSession session, String condition, String orderBy) throws PersistentException {
		StringBuffer sb = new StringBuffer("From TableroJuego as TableroJuego");
		if (condition != null)
			sb.append(" Where ").append(condition);
		if (orderBy != null)
			sb.append(" Order By ").append(orderBy);
		try {
			Query query = session.createQuery(sb.toString());
			return query.iterate();
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}
	
	@SuppressWarnings("rawtypes")
	public static java.util.Iterator iterateTableroJuegoByQuery(PersistentSession session, String condition, String orderBy, org.hibernate.LockMode lockMode) throws PersistentException {
		StringBuffer sb = new StringBuffer("From TableroJuego as TableroJuego");
		if (condition != null)
			sb.append(" Where ").append(condition);
		if (orderBy != null)
			sb.append(" Order By ").append(orderBy);
		try {
			Query query = session.createQuery(sb.toString());
			query.setLockMode("TableroJuego", lockMode);
			return query.iterate();
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}	
	
	public static boolean evict(TableroJuego tableroJuego) throws PersistentException {
		try {
			Agente.instance().getSession().evict(tableroJuego);
			return true;
		}
		catch (Exception e) {
			e.printStackTrace();
			throw new PersistentException(e);
		}
	}

	@Override
	public void getTableroJuegoByORMID(String id) throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void insert(String ristra) throws Exception {
		// TODO Auto-generated method stub
		
	}

	

	@Override
	public Vector<String> getSudokus() throws Exception {
		// TODO Auto-generated method stub
		return null;
	}


}
